package com.assessment.repository;

import com.assessment.model.entity.AssessmentItem;
import com.assessment.model.entity.AssessmentRelation;

import java.util.List;

/**
 * 评测任务仓储接口
 */
public interface AssessmentTaskRepository {

    /**
     * 获取教师的评测任务
     *
     * @param teacherId 教师ID
     * @param periodId  周期ID
     * @return 评测任务列表
     */
    List<AssessmentRelation> getTeacherTasks(Integer teacherId, Integer periodId);

    /**
     * 获取单个评测任务
     *
     * @param relationId 关系ID
     * @return 评测任务
     */
    AssessmentRelation getTaskById(Integer relationId);

    /**
     * 获取评测项目列表
     *
     * @param ruleId 规则ID
     * @return 评测项目列表
     */
    List<AssessmentItem> getAssessmentItems(Integer ruleId);

    /**
     * 更新评测关系状态
     *
     * @param relationId 关系ID
     * @param status     状态
     * @return 是否成功
     */
    boolean updateTaskStatus(Integer relationId, Integer status);
}
